<?php
    include "../config.php";

    include "../ServerSelection.php";
    include '../GTSDistanceCalculation.php';
    //error_log("test");
    date_default_timezone_set('Asia/Kolkata');
    error_reporting(0);
    $accountID='';
    $deviceID='';
    $caseID='';
    $incidentLatitude='';
    $incidentLongitude='';
    $caseTimestamp='';
    $caseType='';
    $caseStatus='';
    $callerName='';
    $callerContact='';
    $formate='';
    $user='';
    $password='';
    $formate=$_POST['formate'];
    $user=$_POST['user'];
    $password=$_POST['password'];
    $response='';
    $jsonresponse='';
    error_log("New Case ID Techm:".$_POST['caseID']." Arrived User:".$user."  ".$password);
    //error_log($user."-".$password."-".$formate."-saicase1");
    if($user==$apiusername && $password==$apipassword){
        $accountID=$_POST['accountID'];
        $deviceID=$_POST['deviceID'];
        $caseID=$_POST['caseID'];
       // $incidentLatitude=$_POST['inlat'];
       // $incidentLongitude=$_POST['inlng'];
       // $caseTimestamp=$_POST['caseTimestamp'];
        //echo "timest".$caseTimestamp."  ".$caseID;
        $caseType=$_POST['caseType'];
        $caseStatus="assigned";
        $callerName=$_POST['callerName'];
        $callerContact=$_POST['callerContact'];



        //error_log("Time :".$_POST['caseTimestamp']);
        $caseTimestamp =strtotime($_POST['caseTimestamp']) ;//$_POST['assignedTime'];
        //$toDate = $_POST['tripEndTime'];
        $incidentLatitude=$_POST['inlat']==""?0.0:$_POST['inlat'];//sourceLatitude
        $incidentLongitude=$_POST['inlng']==""?0.0:$_POST['inlng'];//sourceLongitude
        $destLat1=$_POST['destinationLatitude1']==""?0.0:$_POST['destinationLatitude1'];
        $destLng1=$_POST['destinationLongitude1']==""?0.0:$_POST['destinationLongitude1'];
        $destLat2=$_POST['destinationLatitude2']==""?0.0:$_POST['destinationLatitude2'];
        $destLng2=$_POST['destinationLongitude2']==""?0.0:$_POST['destinationLongitude2'];
        $destLat3=$_POST['destinationLatitude3']==""?0.0:$_POST['destinationLatitude3'];
        $destLng3=$_POST['destinationLongitude3']==""?0.0:$_POST['destinationLongitude3'];
        $backLat=$_POST['baseLatitude']==""?0.0:$_POST['baseLatitude'];
        $backLng=$_POST['baseLongitude']==""?0.0:$_POST['baseLongitude'];
        $sourceDistrict=$_POST['sourceDistrict'];
        $sourceType=$_POST['sourceType'];
        $destinationType=$_POST['destinationType'];
        $destinationDistrict=$_POST['destinationDistrict'];
        $hospitalID=$_POST['hospitalID1'];
        $hospitalID2=$_POST['hospitalID2'];
        $sceneEta=isset($_POST['baseToSourceEta'])?$_POST['baseToSourceEta']:0;
        $hospitalEta=isset($_POST['sourceToHospitalEta'])?$_POST['sourceToHospitalEta']:0;
      //  error_log("timest".$caseTimestamp." Id: ".$caseID." Device: ".$deviceID."  Time".$caseTimestamp."  lng :".$incidentLongitude." lat".$incidentLatitude);
        insertIntoDevice($accountID,$deviceID,$caseID);//update case cased ID in Device Table Column smsEmail   

        if($deviceID!="" && $caseID!='' && $incidentLatitude!='' && $incidentLongitude!='' && $caseTimestamp!=''){
              $caseStartTime=0;
              try {
                  $tacconnect = mysqli_connect($LiveEventDBserver, $tacusername, $tacpassword) or die ("Unable to connect to the database : " . mysqli_error($tacconnect));
                  mysqli_select_db($tacconnect,$tacdb);
                  $myqry="SELECT * FROM caseManager WHERE deviceID='$deviceID' and caseID='$caseID'"; 
                    
                  $result = mysqli_query($tacconnect,$myqry) or die(mysqli_error($tacconnect));;
                  $num_rows = mysqli_num_rows($result);
                 // if($num_rows==0){
                      //Close Previous Cases
                     // updateCaseStatus($deviceID);

                       //Close Previous Cases
                     $uncloseCases=getCaseDetails($accountID,$deviceID);
                     // var_dump($uncloseCases);
                      for($cindx=0;$cindx<count($uncloseCases);$cindx++){
                           // echo "sdfdsf";
                          if($uncloseCases[$cindx][0]!="")
                             findAndUpdateBaseArrivel($accountID,$deviceID,$uncloseCases[$cindx][0],$uncloseCases[$cindx][2],time());
                      }
                      $caseTimestamp=$caseTimestamp; 
                      $caseType=str_replace("'"," ",$caseType);
                      $callerName=str_replace("'"," ",$callerName); 

                  //track server support https
                  $caseurl1="https://upemri.glovision.co/track/?cid=";
                  $caseurl2=$caseID."&acc=".$accountID;
                  $resurl=$caseurl1.$caseurl2;
                  //$caseurl2=$caseID."&ctime=".$caseTimestamp."&ctype=".$caseType."&cc=".$callerContact."&did=".$deviceID."&acc=".$accountID;
                  $search= array(" ", "-", "/","#","//","&");
                  $replace= array("%20", "%2D", "%2F","%23","%2F","%26");
                  $caseurl3= str_replace($search, $replace, $caseurl2);
                  $caseurl=$caseurl1.$caseurl3;
                  //$caseType=="referral";
                  $time=time();
                  $tmpCaseType=strtolower($caseType);
                  if(strtolower($caseType)=="dropback"){
                      $tmpCaseType="drop";
                   }
    
                 if($sceneEta=="")$sceneEta=0;
                 if($hospitalEta=="")$hospitalEta=0;
                  $caseupdate="INSERT INTO caseManager (accountID,deviceID,caseID,incidentLatitude,incidentLongitude,caseTimestamp,caseType,caseStatus,caseDistance, callerName,callerContact,url,caseCloseTime,caseVehicleStatus,vehicleStatus,sourceDistrict,sourceType,destinationLatitude1,destinationLongitude1,destinationLatitude2,destinationLongitude2,destinationLatitude3,destinationLongitude3,baseLatitude,baseLongitude,destinationDistrict,destinationType,creationTime,hospitalID1,baseToSourceEta,sourceToHospitalEta,hospitalID) VALUES ('$accountID','$deviceID','$caseID','$incidentLatitude','$incidentLongitude','$caseTimestamp','$tmpCaseType','$caseStatus','0','$callerName','$callerContact','$caseurl','0','','','$sourceDistrict','$sourceType','$destLat1','$destLng1','$destLat2','$destLng2','$destLat3','$destLng3','$backLat','$backLng','$destinationDistrict','$destinationType','$time','$hospitalID2','$sceneEta','$hospitalEta','$hospitalID') ON DUPLICATE KEY UPDATE hospitalID1='$hospitalID2',baseToSourceEta='$sceneEta',sourceToHospitalEta='$hospitalEta',hospitalID='$hospitalID'";
                 // error_log($caseupdate."Newwwww");

                  $qry1 = mysqli_query($tacconnect,$caseupdate) or die(mysqli_error($tacconnect));
                   error_log("SERVER ".$LiveEventDBserver." Insert ");
                  mysqli_close($tacconnect); 
                  $jsonresponse= '{"Status":"success","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                  $callerName=str_replace(" ","%20",$callerName); 

                   /*
                        get Vehicle Live Location to Estimated distance
                   */ 
                   $gtsconnect = mysqli_connect($LiveEventDBserver,$gtsusername,$gtspassword) or die ("Unable to connect to the database1 : " . mysqli_error($gtsconnect));
                   mysqli_select_db($gtsconnect, $gtsdb);
                   $qry ="SELECT a.lastValidLatitude as lastValidLatitude,a.lastValidLongitude as lastValidLongitude,a.lastEventTimestamp as lastEventTimestamp,b.contactPhone as crewNumber FROM Device a,Driver b WHERE a.deviceID=b.driverID and a.deviceID='$deviceID' and a.accountID=b.accountID and a.accountID='$accountID' ";
                   $result= mysqli_query($gtsconnect,$qry) or die(mysqli_error($gtsconnect));
                   $lastValidLatitude=0;
                   $lastValidLongitude=0;
                   $lastEventTimestamp=0;
                   $crewNumber=0;
                   while ($row = mysqli_fetch_assoc($result)) {
                         $lastEventTimestamp= $row["lastEventTimestamp"];
                         $lastValidLatitude= $row["lastValidLatitude"];
                         $lastValidLongitude= $row["lastValidLongitude"];
                         $crewNumber=$row["crewNumber"];
                    }
                    mysqli_close($gtsconnect);
                 error_log("Case Assigned-----0");
                    $estimateddis=distance1($lastValidLatitude,$lastValidLongitude,$incidentLatitude,$incidentLongitude);
                    $vehiclereachedin=round(floatval($estimateddis/45),2);
                    $vehiclereachedinexploded=explode('.',$vehiclereachedin);
                    $vehiclereachesin="expected time :".$vehiclereachedinexploded[0]."Hrs ".$vehiclereachedinexploded[1]."Mins";
                    $diff=$now-$lastEventTimestamp;
                    if($diff<600){
                        $msg="Dear ".$callerName.",Track the assigned ambulance ".$deviceID.", crew ".$crewNumber." ".$caseurl." ".$vehiclereachesin;

                       // $msg="प्रिय  ".$callerName." ,आपके लिए भेजी जा रही एम्बुलेंस की संख्या  ".$deviceID." एवं नंबर ".$crewNumber." है। एम्बुलेंस की स्थिति देखने के लिए  लिए$ के लिए $caseurl लिंक  पर क्लिक करें।अनुमानित समय : :$vhiclereachesin "; 
                    } else {
                        $msg="Dear ".$callerName.",The assigned CaseID is :".$q.". Ambulance is ".$deviceID.",crew is".$crewNumber.". ".$vehiclereachesin;
                     //   $msg="प्रिय  ".$callerName." ,आपके लिए भेजी जा रही एम्बुलेंस की संख्या  ".$deviceID." एवं नंबर ".$crewNumber." है। एम्बुलेंस अनुमानित समय : h$vehiclereachesin ";
                    }

                    $search= array(" ","#",",");
                    $replace= array("%20","%23","%2C");
                    $msgs= str_replace($search, $replace, $msg);
                    //$msgs=utf8_to_unicode($msgs);
                    /* Send Sms  to Caller*/
          //          $url2="http://api.smscountry.com/SMSCwebservice_bulk.aspx?User=gvk108&passwd=emri123&mobilenumber=";
                    $url2="http://smsw.co.in/API/WebSMS/Http/v1.0a/index.php?username=AMBUPW&password=HCKgqK&sender=AMBUPW&to=";
                    $url2.=$callerContact;
                    //$url2.=",9949123345";//gvk internal
                    //$url2.=",9866613362";//gvk internal
                   // $url2.="&sid=gvkemri108&mtype=N&DR=Y";
                    $url2.="&reqid=1&format={json|text}&unique=0";
                    $url2.="&message=".$msgs;
                  //  error_log($url2);
                    //$e['res'] = "true"; 
               /*
                    $curl = curl_init();
                    curl_setopt($curl, CURLOPT_URL, $url2);
                    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                    curl_setopt($curl, CURLOPT_HEADER, false);
                    // execute and return string (this should be an empty string '')
                    $str = curl_exec($curl);
                    curl_close($curl);
                */

                 error_log("Case Assigned-----1 Type :".$caseType);
                    if(strtolower($caseType)=="pickup"){
                         $geozoneID=$caseID."_".$deviceID."_scene";
                         $displayname="Scene Location of ".$callerName;
                        createZone($accountID,$geozoneID,1000,$incidentLatitude,$incidentLongitude,$displayname,'scene');
                     }

                  error_log("Case Assigned-----2");
                    if(strtolower($caseType)=="ift"){
                         $geozoneID=$caseID."_".$deviceID."_ift";
                         $displayname=$caseID."_".$deviceID."_ift";
                        createZone($accountID,$geozoneID,500,$incidentLatitude,$incidentLongitude,$displayname,'ift');
                     }
                   error_log("Case Assigned-----3");

                    if(strtolower($caseType)=="dropback"){

                          if($incidentLatitude!="0.0" && $incidentLongitude!="0.0"){
                             $geozoneID=$caseID."_".$deviceID."_drop";
                             $displayname=$caseID."_".$deviceID."_drop";
                             createZone($accountID,$geozoneID,500,$incidentLatitude,$incidentLongitude,$displayname,'drop');
                          }


                          if($destLat1!="0.0" && $destLng1!="0.0"){
                             $geozoneID=$caseID."_".$deviceID."_home_1";
                             $displayname="Destination_1 ";
                             createZone($accountID,$geozoneID,500,$destLat1,$destLng1,$displayname,'home');
                          }
                          if($destLat2!="0.0" && $destLng2!="0.0"){
                             $geozoneID=$caseID."_".$deviceID."_home_2";
                             $displayname="Destination_2";
                             createZone($accountID,$geozoneID,500,$destLat2,$destLng2,$displayname,'home');
                          }
                          if($destLat3!="0.0" && $destLng3!="0.0"){
                             $geozoneID=$caseID."_".$deviceID."_home_3";
                             $displayname="Destination_3";;
                             createZone($accountID,$geozoneID,500,$destLat3,$destLng3,$displayname,'home');
                          }

                    }
                 error_log("Case Assigned-----4");
                    //echo $url2."<br>";
                    /*  end */

                  /* 
                  //send sms to Coller Number
                  $url=$_SERVER['SERVER_NAME']."/API/sendSMS.php?q=".$caseID."&callerName=".$callerName."&deviceID=".$deviceID."&callerContact=".$callerContact."&incidentLatitude=".$incidentLatitude."&incidentLongitude=".$incidentLongitude; 
                  $curl = curl_init();
                  curl_setopt($curl, CURLOPT_URL, $url);
                  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                  curl_setopt($curl, CURLOPT_HEADER, false);
                  $str = curl_exec($curl);
                  curl_close($curl);*/

                   error_log("Case Assigned-----"); 
                     $jsonresponse= '{"Status":"success","url":"'.$resurl.'"}';
                    // $jsonresponse= '{"Status":"success","url":"'.$resurl.'","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
               /*   }else{
                      error_log("Duplicate Case");
                      $jsonresponse= '{"Status":"Fail:Duplicate entry '.$deviceID.'-'.$caseID.'","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                      saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Duplicate entry '.$deviceID.'-'.$caseID,'New Case Arrived');
                  }*/
              }catch (Exception $e) {
                  $jsonresponse= '{"status":"Please Try later","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                  saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Please Try later '.$deviceID.'-'.$caseID,'New Case Arrived');
              }
          }else{
              echo "Invalid parameters";
              if($deviceID==""){
                  $jsonresponse= '{"Status":"Invalid records DeviceID is null","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                  saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Invalid  DeviceID in '.$deviceID.'-'.$caseID,'New Case Arrived');
              }else if($caseID==''){
                  $jsonresponse= '{"Status":"Invalid records CaseID is null","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                   saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Invalid records caseID in '.$deviceID.'-'.$caseID,'New Case Arrived');
              }else if( $incidentLatitude==''){
                  $jsonresponse= '{"Status":"Invalid recordslat is null","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                   saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Invalid Lat in '.$deviceID.'-'.$caseID,'New Case Arrived');
              }else if($incidentLongitude==''){
                  $jsonresponse= '{"Status":"Invalid records long is null","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                   saveRequest($accountID,$deviceID,0,0,0,time(),'Fail:Invalid records Lng in '.$deviceID.'-'.$caseID,'New Case Arrived');
              }else if( $caseTimestamp==''){
                  $jsonresponse= '{"Status":"Invalid records timestamp is null","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
                  saveRequest($accountID,$deviceID,0,0,0,time(),"Fail:Invalid case Time in $deviceID - $caseID",'New Case Arrived');
              }
          }
      }else{
          echo "Invalid login Details";
          $jsonresponse='{"Status":"Invalid login Details","ReceivedTime":"'.date('d-M-Y h:i:s a',time()).'"}';
           saveRequest($accountID,$deviceID,0,0,0,time(),'Invalid login Details','New Case Arrived');
      }
      header('Content-Type: application/json');
      echo $jsonresponse;

      error_log("Case Assigned End");

      function insertIntoDevice($account,$device,$case) {
          global $tacserver, $gtsusername, $gtspassword,$gtsdb,$LiveEventDBserver;
          $gtsconnect = mysqli_connect($LiveEventDBserver,$gtsusername,$gtspassword) or die ("Unable to connect to the database1 : " . mysqli_error($gtsconnect));
          mysqli_select_db($gtsconnect, $gtsdb);
          $updatequery="update Device set smsEmail='$case' where accountID='$account' and deviceID='$device'";
          mysqli_query($gtsconnect,$updatequery) or die(mysqli_error($gtsconnect));
          mysqli_close($gtsconnect);
     }
 


      function createZone($accountID,$geozoneid,$radious,$lat,$lng,$displayname,$type) {
          global $tacserver, $gtsusername, $gtspassword,$gtsdb,$LiveEventDBserver;
          $gtsconnect = mysqli_connect($LiveEventDBserver,$gtsusername,$gtspassword) or die ("Unable to connect to the database1 : " . mysqli_error($gtsconnect));
          mysqli_select_db($gtsconnect, $gtsdb);
          $lat=floatval($lat);
          $lng=floatval($lng);
          $distance=$radious/1000;//meters into Km
          //calculate min lat,lng and max lat,lng
          $R = 6371; //constant earth radius. You can add precision here if you wish
          $maxLat = $lat + rad2deg($distance/$R);
          $minLat = $lat - rad2deg($distance/$R);
          $maxLng = $lng + rad2deg(asin($distance/$R) / cos(deg2rad($lat)));
          $minLng = $lng - rad2deg(asin($distance/$R) / cos(deg2rad($lat)));
          $insertzone="INSERT into Geozone(accountID,geozoneID,reverseGeocode,arrivalZone,departureZone,shapeColor,zoneType,radius,latitude1,longitude1,arrivalStatusCode,departureStatusCode,isActive,creationTime,displayName,description,minLatitude,maxLatitude,minLongitude,maxLongitude,sortID,zonePurposeID,autoNotify,zoomRegion,latitude2,latitude3,latitude4,latitude5,latitude6,latitude7,latitude8,latitude9,latitude10,longitude2,longitude3,longitude4,longitude5,longitude6,longitude7,longitude8,longitude9,longitude10,clientUpload,clientID,iconName,lastUpdateTime,priority,speedLimitKPH,groupID,streetAddress, city, stateProvince, postalCode, country, subdivision) values ('$accountID','$geozoneid','1','1','1','#ffa500','0','$radious','$lat','$lng','61968','62000','1',unix_timestamp(now()),'$displayname','$displayname','$minLat','$maxLat','$minLng','$maxLng',0,'',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'black',unix_timestamp(now()),0,0,'','','','','','','')";


         // error_log($insertzone);
          mysqli_query($gtsconnect,$insertzone) or die(mysqli_error($gtsconnect));
          //delete 24 hours old scene 
       /*   $deleteoldScene="delete FROM Geozone where geozoneID like '%home%' and  (unix_timestamp(now())-creationTime)>21600";  //12 hours    
          if($type=="scene"){
             $deleteoldScene="delete FROM Geozone where geozoneID like '%scene%' and  (unix_timestamp(now())-creationTime)>21600";//12 hours
          }else if($type="ift"){
             $deleteoldScene="delete FROM Geozone where geozoneID like '%ift%' and  (unix_timestamp(now())-creationTime)>21600";//12 hours
          }else if($type=="drop"){
             $deleteoldScene="delete FROM Geozone where geozoneID like '%drop%' and  (unix_timestamp(now())-creationTime)>21600";//12 hours
          }*/
          $deleteoldScene="delete FROM Geozone where (geozoneID like '%home%' or geozoneID like '%scene%' or geozoneID like '%ift%' or geozoneID like '%drop%') and (unix_timestamp(now())-creationTime)>10800";

         // error_log($deleteoldScene);
          mysqli_query($gtsconnect,$deleteoldScene) or die(mysqli_error($gtsconnect));
          mysqli_close($gtsconnect);
     }

   
    function utf8_to_unicode($str) {
$unicode = array();
$values = array();
$lookingFor = 1;
for ($i = 0; $i < strlen($str); $i++) {
    $thisValue = ord($str[$i]);
    if ($thisValue < 128) {
        $number = dechex($thisValue);
        $unicode[] = (strlen($number) == 1) ? '%u000' . $number : "%u00" . $number;
    } else {
        if (count($values) == 0)
            $lookingFor = ( $thisValue < 224 ) ? 2 : 3;
        $values[] = $thisValue;
        if (count($values) == $lookingFor) {
            $number = ( $lookingFor == 3 ) ?
                    ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ) :
                    ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64
                    );
            $number = dechex($number);
            $unicode[] =
                    (strlen($number) == 3) ? "%u0" . $number : "%u" . $number;
            $values = array();
            $lookingFor = 1;
        } // if
    } // if
}
return implode("", $unicode);
}


 function updateCaseStatus($accountID,$deviceID,$caseID,$caseCloseTime,$baseArrivalTime,$distance,$latlng){
       global $tacserver, $tacusername, $tacpassword,$tacdb,$LiveEventDBserver;


       $tacconnect = mysqli_connect($LiveEventDBserver,$tacusername,$tacpassword) or die ("Unable to connect to the database1 : " . mysqli_error($tacconnect));
       mysqli_select_db($tacconnect, $tacdb);
       $updatequery="";
    //    $updatequery="update caseManager set caseStatus='close',caseCloseTime='".time()."' where accountID='$accountID' and deviceID='$deviceID' and caseStatus='assigned'";
           $updatequery="update caseManager set caseStatus='close',caseCloseTime='".$caseCloseTime."', baseArrivedTime='$baseArrivalTime',baseReachLatLng='$latlng',caseDistance='$distance' where accountID='$accountID' and deviceID='$deviceID' and caseID='$caseID'";
//echo $updatequery;
      // error_log($updatequery);
       mysqli_query($tacconnect,$updatequery) or die(mysqli_error($tacconnect));
       mysqli_close($tacconnect);
 }

function findAndUpdateBaseArrivel($accountID,$deviceID,$caseID,$fromDate,$caseCloseTime){
                   $result= getCaseDistance($accountID,$deviceID,$fromDate,$caseCloseTime);
                    $caseDistsplit=explode('*',$result);
                    $distance=$caseDistsplit[0];

                    $offlineTime=$caseDistsplit[7];
                    $offlineStus="false";
                    if($offlineTime>600){ //more than 10 minits
                       $offlineStus="true";
                    }

                    $data=array(
                       "zoneType"=>"baseLocation",
                       "caseID"=> $caseID,
                       "accountID"=>$accountID,
                       "alertType"=> 'Arrived',
                       "geozoneID"=>'nobase',
                       "triggerTime"=>$caseDistsplit[6],
                       "speed"=>0,
                        "distance"=>$distance,
                       "offlineStatus"=>$offlineStus
                   );
                   //callService($data);//we are stopping backto base arrivel 

                 updateCaseStatus($accountID,$deviceID,$caseID,$caseCloseTime,$caseDistsplit[6],$distance,$caseDistsplit[3]."/".$caseDistsplit[4]);
           return true;
}
function callService($jsonDataEncoded){
    //API URL

       global $triggerUrl;
       $url = $triggerUrl;
       //var_dump($jsonDataEncoded);
     //  $url = 'http://test-crm.upeastemri.tk/api/glovision/saveGlovisionTripDetails';
        //create a new cURL resource
        $ch = curl_init($url);
        //setup request to send json via POST
        $payload = json_encode($jsonDataEncoded);
        //attach encoded JSON string to the POST fields
        curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
        //set the content type to application/json
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
        //return response instead of outputting
//        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        //execute the POST request
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
        curl_setopt($ch, CURLOPT_TIMEOUT_MS, 2000);

        $result = curl_exec($ch);
       // var_dump($result);
        //close cURL resource
        curl_close($ch);

}

 function getCaseDetails($accountID,$deviceID){
       global $tacserver, $tacusername, $tacpassword,$tacdb,$LiveEventDBserver,$caseCheckingTime;
       $tacconnect = mysqli_connect($LiveEventDBserver,$tacusername,$tacpassword) or die ("Unable to connect to the database1 : " . mysqli_error($tacconnect));
       mysqli_select_db($tacconnect, $tacdb);
       $updatequery="";
       $selectQuery="select baseStatus,caseType,sceneReachTimestamp,sceneDepartTimestamp,destinationReachTimestamp1,destinationDepartTimestamp1,caseCloseTime,caseStatus,destinationLatitude1,destinationLongitude1,caseID,caseTimestamp,deviceID,baseDepartedTime,baseArrivedTime  from caseManager where accountID='$accountID' and  deviceID='$deviceID' and caseStatus='assigned'";
       //echo $selectQuery;
       //$selectQuery="select destinationLatitude1,destinationLongitude1,caseID,caseTimestamp,deviceID  from caseManager where accountID='$accountID' and deviceID='UP41G3347'   order by caseTimestamp desc limit 1";
       //error_log($selectQuery);
       $qry_result=mysqli_query($tacconnect,$selectQuery) or die(mysqli_error($tacconnect));
      // error_log($selectQuery);
       $caseInfomation=array(array());
       $i=0;
       while($row = mysqli_fetch_assoc($qry_result)) {
           $caseInfomation[$i][0]=$row["caseID"];
           $caseInfomation[$i][1]=$row["deviceID"];
           $caseInfomation[$i][2]=$row["caseTimestamp"];
           $caseInfomation[$i][3]=$row["baseArrivedTime"];
           $caseInfomation[$i][4]=$row["baseDepartedTime"];
           $i++;
       }
       //error_log($updatequery);
       mysqli_close($tacconnect);
       return $caseInfomation;
  }

?>
